package com.pubinfo.passbook.api.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mashape.unirest.http.exceptions.UnirestException;
import com.pubinfo.passbook.common.entity.TFileEnclosureFtp;
import com.pubinfo.passbook.common.entity.TSourceArtificial;
import com.pubinfo.passbook.common.model.dto.MDM.TSourceArtificialParam;
import com.pubinfo.passbook.common.model.dto.file.ArtificialFileParam;
import com.pubinfo.passbook.common.model.dto.file.ArtificialParam;
import com.pubinfo.passbook.common.model.dto.file.UploadFileParam;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

@Service
public interface ForwardFileService {
  //转发保存人工报账信息
  String saveArtificial(ArtificialParam artificialParam) throws UnirestException;
  
  //上传附件
  String uploadInvoiceById(UploadFileParam uploadFileParam) throws UnirestException;

  //上传人工报帐相关文件
  String uploadArtificialFile(ArtificialFileParam artificialFileParam) throws UnirestException;

  String selectArtificialByCreateUser(TSourceArtificialParam param) throws UnirestException;

  //保存附件返回TFileEnclosureFtp
  String saveTFileEnclosure(MultipartFile file) throws UnirestException;

  void acctDownload(HttpServletRequest request, HttpServletResponse response,String id) throws UnirestException;

  void acctDownloadZip(HttpServletRequest request, HttpServletResponse response, List<String> id) throws IOException, UnirestException;

  String deleteFile(List<String> id) throws UnirestException;
}
